import { defineStore } from "pinia"
import request from '@/utils/request'
import { ApiRes, CategoryItem, TopCategory } from '@/types/data'
import { topCategory } from '../constants'

const defaultCategory = topCategory.map((item) => {
    return {
        name: item,
    }
})

export default defineStore('category', {
    state: () => ({
        list: defaultCategory as CategoryItem[],
        topCategory: {} as TopCategory,
    }),
    actions: {
        async getAllCategory() {
            const res = await request.get<ApiRes<CategoryItem[]>>('/home/category/head')
            this.list = res.data.result
        },
        async getTopCategory(id: string) {
            const res = await request.get<ApiRes<TopCategory>>('/category', {
                params: {
                    id,
                },
            })
            this.topCategory = res.data.result
        },
    },
    getters: {
    }
})